#pragma once
#include <iostream>
#include <string>
#include <fstream>
class Util
{
public:
    static bool ReadFile(const std::string &filename, std::string *out)
    {
        // //
        // std::fstream in(path);
        // if (!in.is_open())
        //     return false;
        // std::string line;
        // while (std::getline(in, line))
        // {
        //     *out += line;
        // }
        // in.close();
        int filesize = FileSize(filename);
        if(filesize < 0)
            return false;
        out->resize(filesize);
        std::ifstream in(filename, std::ios::binary); // 以二进制形式打开文件
        if (!in.is_open())
            return -1;
        //按字节读取
        in.read((char*)out->c_str(),filesize);
        in.close();
        return true;
    }
    // 获取文件大小
    static int FileSize(const std::string &filename)
    {
        std::ifstream in(filename, std::ios::binary); // 以二进制形式打开文件
        if (!in.is_open())
            return -1;
        in.seekg(0, in.end);
        int filesize = in.tellg();
        in.seekg(0, in.beg);
        return filesize;
    }
};